<!DOCTYPE html>
<html lang="en">
<head>
		<title>SKiDL &mdash; Articles by Dave Vandenbout</title>
		<meta charset="utf-8" />
		<link rel="profile" href="http://gmpg.org/xfn/11" />
		<link rel="stylesheet" type="text/css" href="/skidl/theme/css/style.css" />
		<link rel='stylesheet' id='oswald-css'  href='http://fonts.googleapis.com/css?family=Oswald&#038;ver=3.3.2' type='text/css' media='all' />
		<link rel="preconnect" href="https://fonts.googleapis.com">
		<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
		<link href="https://fonts.googleapis.com/css2?family=Oswald&family=Roboto+Condensed&display=swap" rel="stylesheet">
		<!-- <style type="text/css">
			body.custom-background { background-color: #f5f5f5; }
		</style> -->
		<link rel="alternate" type="application/atom+xml"
			title="SKiDL — Flux Atom"
			href="/skidl/" />
		<!--[if lte IE 8]><script src="/skidl/theme/js/html5shiv.js"></script><![endif]-->
</head>

<body class="home blog custom-background " >
	<div id="container">
		<div id="header">
				<h1 id="site-title"><a href="/skidl"><img src="/skidl/images/banner.png" width="100%"></a></h1>
				<!-- <h1 id="site-title"><a href="/skidl">SKiDL</a></h1> -->
		</div><!-- /#banner -->

		<div id="menu">
			<div class="menu-navigation-container">
				<ul id="menu-navigation" class="menu">
						<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://github.com/devbisme/skidl">Github</a></li>
						<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://github.com/devbisme/skidl/discussions">Forum</a></li>
						<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="/skidl/category/posts.html">Blog</a></li>
						<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="/skidl/api/html/index.html">API</a></li>
						<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="/skidl/">Home</a></li>

				</ul>
			</div> <!--/#menu-navigation-container-->
		</div><!-- /#menu -->

		<div class="page-title">
	<h2>Posted by <span>Dave Vandenbout</span> &hellip;</h2>
		</div>

		<div id="contents">
<div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/generating-editable-schematics-2023-07-14.html">Fri 14 July 2023</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/generating-editable-schematics-2023-07-14.html" title="Permalink to SKiDL Has Schematics!" rel="bookmark">SKiDL Has Schematics!</a>
		</h2>
		<div class="entry-content">
			<p>You can finally generate editable schematics from your SKiDL code.</p>
		</div> <!--/#entry-content-->
    		<span class="tag-links"><strong>Tagged</strong>
 <a href="/skidl/tag/schematics.html" rel="tag">schematics</a>    		</span>
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/one-dot-two-2023-07-14.html">Fri 14 July 2023</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/one-dot-two-2023-07-14.html" title="Permalink to New 1.2.0 Release" rel="bookmark">New 1.2.0 Release</a>
		</h2>
		<div class="entry-content">
			<p>It's been nearly <em>two years</em> since the last release.
The 1.2.0 release has these user-facing changes:</p>
<ul>
<li>Something that has been requested for years: SKiDL can now <a href="generating-editable-schematics-2023-07-14.html">generate an editable schematic</a>
  from a <code>Circuit</code> object. (Currently only works for KiCad V5.)</li>
<li>The <code>Group</code> object allows you to create hierarchy …</li></ul>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/skidl-meets-chatgpt-2023-03-23.html">Thu 23 March 2023</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/skidl-meets-chatgpt-2023-03-23.html" title="Permalink to SKiDL Meets GPT" rel="bookmark">SKiDL Meets GPT</a>
		</h2>
		<div class="entry-content">
			<p>ChatGPT was released late last year, and GPT4 dropped last week.
These large language models (LLMs) offer some intriguing possibilities.
I had a Twitter conversation about them with <a href="https://twitter.com/alexandrosM">@alexandrosM</a> that started like this:</p>
<p><img alt="" src="images/skidl-meets-chatgpt/gpt_twitter_conv_1.png"></p>
<p>So I described the simplest thing I could think of - a voltage divider - and asked
ChatGPT to …</p>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/one-dot-one-2021-10-22.html">Fri 22 October 2021</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/one-dot-one-2021-10-22.html" title="Permalink to New 1.1.0 Release" rel="bookmark">New 1.1.0 Release</a>
		</h2>
		<div class="entry-content">
			<p>It's been nearly half a year since the big 1.0 release.
This release only has a few user-facing changes:</p>
<ul>
<li>A KiCad PCB file can now be created directly using the <code>generate_pcb()</code> function instead of outputing a netlist that's imported into PCBNEW.</li>
<li>Part templates can be created with the <code>PartTmplt …</code></li></ul>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/one-dot-oh-2021-05-09.html">Sun 09 May 2021</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/one-dot-oh-2021-05-09.html" title="Permalink to 1.0" rel="bookmark">1.0</a>
		</h2>
		<div class="entry-content">
			<p>Nearly a year after 0.0.30, today marks the release of SKiDL version <strong>1.0.0</strong>.
But why assign such an exalted milestone to <em>this</em> release given the relative
paucity of <a href="https://github.com/devbisme/skidl/blob/master/HISTORY.rst#100-2021-05-09">new features</a>,
most of them mundane (with the possible exception of
<a href="https://github.com/devbisme/skidl/docs/_site/index.html#svg-schematics">automatic generation of schematics</a>)?</p>
<p>Because I said …</p>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/customized-erc-2020-05-29.html">Fri 29 May 2020</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/customized-erc-2020-05-29.html" title="Permalink to Customized ERC!" rel="bookmark">Customized ERC!</a>
		</h2>
		<div class="entry-content">
			<p>Everybody wants ERC. Everybody hates ERC.</p>
<p>Electrical rules checking (ERC) looks for errors in how your circuit is constructed.
It's like running <a href="https://en.wikipedia.org/wiki/Lint_(software)"><code>lint</code></a>, but for hardware.
And as with <code>lint</code>, you get a whole bunch of warnings that don't matter but which
<em>obscure the ones that do</em>.</p>
<p>SKiDL tries to …</p>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/package-decorator-2020-05-27.html">Wed 27 May 2020</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/package-decorator-2020-05-27.html" title="Permalink to Good Things Come In Packages!" rel="bookmark">Good Things Come In Packages!</a>
		</h2>
		<div class="entry-content">
			<p>Up to now, SKiDL supported hierarchy by applying the <code>@subcircuit</code> decorator to a Python function:</p>
<div class="highlight"><pre><span></span><code><span class="nd">@subcircuit</span>
<span class="k">def</span> <span class="nf">analog_average</span><span class="p">(</span><span class="n">in1</span><span class="p">,</span> <span class="n">in2</span><span class="p">,</span> <span class="n">avg</span><span class="p">):</span>
<span class="w">    </span><span class="sd">&quot;&quot;&quot;Output the average of the two inputs.&quot;&quot;&quot;</span>

    <span class="c1"># Create two 1K resistors.</span>
    <span class="n">r1</span><span class="p">,</span> <span class="n">r2</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">Part</span><span class="p">(</span><span class="s1">&#39;Device&#39;</span><span class="p">,</span> <span class="s1">&#39;R&#39;</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="s1">&#39;1K&#39;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="n">TEMPLATE</span><span class="p">)</span>

    <span class="c1"># Each input connects thru a resistor to the …</span></code></pre></div>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/skidl-forum-2020-05-20.html">Wed 20 May 2020</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/skidl-forum-2020-05-20.html" title="Permalink to New SKiDL Forum!" rel="bookmark">New SKiDL Forum!</a>
		</h2>
		<div class="entry-content">
			<p><strong>FYI: The forum has <a href="https://github.com/devbisme/skidl/discussions">moved</a>.</strong></p>
<p>I created a <a href="https://github.com/devbisme/skidl/discussions">Github Discussions forum for SKiDL</a>.
There, you can ask questions about SKiDL and post about projects you're doing with it.
This will probably be a more convenient channel for such things rather
than opening issues on the SKiDL GitHub repo.</p>
<p>Give it …</p>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/Release_0_0_30-2020-05-16.html">Sat 16 May 2020</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/Release_0_0_30-2020-05-16.html" title="Permalink to Version 0.0.30 Released!" rel="bookmark">Version 0.0.30 Released!</a>
		</h2>
		<div class="entry-content">
			<p>I'm releasing version 0.0.30 of SKiDL today!
It has some new features I'm excited about:</p>
<ul>
<li>A new <code>@package</code> decorator to make subcircuits act like <code>Parts</code>.</li>
<li>A new <code>tee()</code> function for creating T-junctions in networks.</li>
<li>Custom ERCs can now be added using the new <code>erc_assert()</code> function.</li>
<li>Substring matching in …</li></ul>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="post type-post status-publish format-standard hentry category-general" id="post">
	<div class="entry-meta">
		<span class="date"><a href="/skidl/xspice-capability-2020-01-30.html">Thu 30 January 2020</a></span>
		/
		<span class="byline"><a href="/skidl/author/dave-vandenbout.html">Dave Vandenbout</a></span>
	</div> <!-- /#entry-meta -->
	<div class="main">
		<h2 class="entry-title">
			<a href="/skidl/xspice-capability-2020-01-30.html" title="Permalink to xspice capability" rel="bookmark">xspice capability</a>
		</h2>
		<div class="entry-content">
			<p><a href="https://github.com/devbisme/skidl/issues/76">Somebody asked about using XSPICE components</a> in SPICE simulations with SKiDL.
That wasn't possible since <a href="https://pyspice.fabrice-salvaire.fr/">PySpice</a> didn't really support these when I <a href="https://devbisme.github.io/skidl/docs/_site/blog/spice-simulation">built the interface</a>.
So I added XSPICE parts to the <a href="https://github.com/devbisme/skidl/blob/master/examples/spice-sim-intro/spice-sim-intro.ipynb">SKiDL SPICE interface</a> and released it as <a href="https://pypi.org/project/skidl/">SKiDL 0.0.29</a>.</p>
		</div> <!--/#entry-content-->
	</div> <!--/#main-->
</div>  <!--/#post--><div class="navigation">
		<div class="nav-next"><a href="/skidl/author/dave-vandenbout2.html" >Older posts <span class="meta-nav">&rarr;</span></a></div>
</div>
		</div>

		<div id="footer">
			<p> </p>
		</div><!-- /#footer -->
	</div><!-- /#container -->
	<div style="display:none"></div>
</body>
</html>